home *** CD-ROM | disk | FTP | other *** search
/ OPUS 2 / Opus II - The Software.bin / GS-24 MPW-IIGS ORCA⁄C / ORCACDefs / locator.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-01  |  6.0 KB  |  168 lines  |  [TEXT/pdos]

  1. /********************************************
  2. *
  3. * Tool Locator
  4. *
  5. * Copyright Apple Computer, Inc.1986-92
  6. * All Rights Reserved
  7. *
  8. * Copyright 1992, 1993, Byte Works, Inc.
  9. *
  10. ********************************************/
  11.  
  12. #ifndef __TYPES__
  13. #include <TYPES.h>
  14. #endif
  15.  
  16. #ifndef __LOCATOR__
  17. #define __LOCATOR__
  18.  
  19. /* Error Codes */
  20. #define toolNotFoundErr 0x0001
  21. #define funcNotFoundErr 0x0002
  22. #define sysStrtMtErr 0x0100             /* can't mount system startup volume */
  23. #define tlBadRecFlag 0x0103             /* StartStop record invalid */
  24. #define tlCantLoad 0x0104               /* A tool cannot be loaded */
  25. #define toolVersionErr 0x0110
  26. #define messNotFoundErr 0x0111
  27. #define messageOvfl 0x0112              /* No message numbers available */
  28. #define nameTooLong 0x0113              /* Message name too long */
  29. #define reqNotAccepted 0x0120           /* SendRequest request not accepted */
  30. #define duplicateName 0x0121            /* duplicate name for AcceptRequests */
  31. #define invalidSendRequest 0x0122       /* bad combo of target and sendHow */
  32.  
  33. /* MessageCenter Codes */
  34. #define fileInfoType 0x0001             /* Message type parameter */
  35. #define addMessage 0x0001               /* action parameter */
  36. #define getMessage 0x0002               /* action parameter */
  37. #define deleteMessage 0x0003            /* action parameter */
  38. #define fileInfoTypeGS 0x0011           /* Message type parameter (GS/OS strings) */
  39.  
  40. /* GetMsgHandle flags values */
  41. #define gmhByIndex 0
  42. #define gmhByType 1
  43. #define gmhByName 2
  44.  
  45. /* SendRequest/AcceptRequests codes */
  46. #define systemSaysBeep 0x0001           /* used by SysBeep2 */
  47. #define systemSaysUnknownDisk 0x0002    /* used by HandleDiskInsert */
  48. #define srqGoAway 0x0003
  49. #define srqGetrSoundSample 0x0004
  50. #define srqSynchronize 0x0005
  51. #define srqPlayrSoundSample 0x0006
  52. #define systemSaysNewDeskMsg 0x0008
  53. #define systemSaysEjectingDev 0x000E
  54. #define systemSaysDeskStartUp 0x0502
  55. #define systemSaysDeskShutDown 0x0503
  56. #define systemSaysFixedAppleMenu 0x051E
  57. #define systemSaysMenuKey 0x0F01
  58. #define systemSaysDoClipboard 0x000C
  59. #define systemSaysForceUndim 0x000D
  60. #define srqOpenOrPrint 0x0010
  61. #define srqQuit 0x0011
  62. #define systemSaysGetSysIcon 0x1201
  63.  
  64. /* SendRequest sendHow values */
  65. #define stopAfterOne 0x8000
  66. #define sendToAll 0
  67. #define sendToName 1
  68. #define sendToUserID 2
  69.  
  70. /* StartUpTools flag bits */
  71. #define leaveScreenClean 0x0004
  72. #define openResAsAllowed 0x0008
  73. #define noResourceMgr 0x0010            /* for ShutDownTools, too */
  74.  
  75. /* TLMountVolume Codes */
  76. #define mvReturn 0x0001                 /* like ok for dialogs */
  77. #define mvEscape 0x0002                 /* like cancel for dialogs */
  78.  
  79. /* Tool Set Spec Codes */
  80. #define sysTool 0x0000
  81. #define userTool 0x8000
  82. #ifndef theToolsLength                  /* ToolTable - default number of ToolSpecs */
  83. #define theToolsLength 0x0010
  84. #endif
  85.  
  86. struct MessageRec {
  87.    struct MessageRec **messageNext;
  88.    Word messageType;
  89.    Word messageData;
  90.    Str255 fileNames[1];
  91.    };
  92. typedef struct MessageRec MessageRec, *MessageRecPtr, **MessageRecHndl;
  93.  
  94. typedef struct wString {
  95.    Word length;                         /* Number of Chars in text field  */
  96.    char text[255];
  97.    } wString, *wStringPtr, **wStringHndl;
  98. typedef wStringHndl *wStringHndlPtr;
  99.  
  100. typedef struct MessageRecGS {
  101.    long reserved;                       /* reserved */
  102.    Word messageType;
  103.    Word printFlag;
  104.    wString fileNames[1];
  105.    } MessageRecGS, *MessageRecGSPtr, **MessageRecGSHndl;
  106.  
  107. struct ToolSpec {
  108.    Word toolNumber;
  109.    Word minVersion;
  110.    };
  111. typedef struct ToolSpec ToolSpec;
  112.  
  113. struct ToolTable {
  114.    Word toolCount;
  115.    ToolSpec theTools[theToolsLength];
  116.    };
  117. typedef struct ToolTable ToolTable, *ToolTablePtr;
  118.  
  119. struct StartStopRecord {
  120.    Word flags;
  121.    Word videoMode;
  122.    Word resFileID;
  123.    Handle dPageHandle;
  124.    Word numTools;
  125.    ToolSpec theTools[theToolsLength];
  126.    };
  127. typedef struct StartStopRecord StartStopRecord, *StartStopRecordPtr;
  128.  
  129. typedef Long ResponseRecord;
  130.  
  131. struct srqGoAwayOut {
  132.    Word recvCount;
  133.    Word resultID;                       /* returned UserID */
  134.    Word resultFlags;                    /* returned flags--bit 15=Restartable, 14-0=reserved */
  135.    };
  136. typedef struct srqGoAwayOut srqGoAwayOut, *srqGoAwayOutPtr;
  137.  
  138. extern pascal void TLBootInit(void) inline(0x0101,dispatcher);
  139. extern pascal void TLStartUp(void) inline(0x0201,dispatcher);
  140. extern pascal void TLShutDown(void) inline(0x0301,dispatcher);
  141. extern pascal Word TLVersion(void) inline(0x0401,dispatcher);
  142. extern pascal void TLReset(void) inline(0x0501,dispatcher);
  143. extern pascal Boolean TLStatus(void) inline(0x0601,dispatcher);
  144. extern pascal Pointer GetFuncPtr(Word, Word) inline(0x0B01,dispatcher);
  145. extern pascal Pointer GetTSPtr(Word, Word) inline(0x0901,dispatcher);
  146. extern pascal Pointer GetWAP(Word, Word) inline(0x0C01,dispatcher);
  147. extern pascal void LoadOneTool(Word, Word) inline(0x0F01,dispatcher);
  148. extern pascal void LoadTools(Pointer) inline(0x0E01,dispatcher);
  149. extern pascal void MessageCenter(Word, Word, Handle) inline(0x1501,dispatcher);
  150. extern pascal void RestoreTextState(Handle) inline(0x1401,dispatcher);
  151. extern pascal Handle SaveTextState(void) inline(0x1301,dispatcher);
  152. extern pascal void SetTSPtr(Word, Word, Pointer) inline(0x0A01,dispatcher);
  153. extern pascal void SetWAP(Word, Word, Pointer) inline(0x0D01,dispatcher);
  154. extern pascal Word TLMountVolume(Integer, Integer, Pointer, Pointer, Pointer, Pointer) inline(0x1101,dispatcher);
  155. extern pascal Word TLTextMountVolume(Pointer, Pointer, Pointer, Pointer) inline(0x1201,dispatcher);
  156. extern pascal void UnloadOneTool(Word) inline(0x1001,dispatcher);
  157.  
  158. extern pascal ResponseRecord MessageByName(Boolean, Pointer) inline(0x1701,dispatcher);
  159. extern pascal void SetDefaultTPT(void) inline(0x1601,dispatcher);
  160. extern pascal void ShutDownTools(Word, Ref) inline(0x1901,dispatcher);
  161. extern pascal Ref StartUpTools(Word, Word, Ref) inline(0x1801,dispatcher);
  162.  
  163. extern pascal void AcceptRequests(Pointer, Word, WordProcPtr) inline(0x1B01,dispatcher);
  164. extern pascal Handle GetMsgHandle(Word, Long) inline(0x1A01,dispatcher);
  165. extern pascal void SendRequest(Word, Word, Long, Long, Ptr) inline(0x1C01,dispatcher);
  166.  
  167. #endif
  168.